iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
Python

30天學Python系列 第 14

Python的for迴圈簡單設計

  • 分享至 

  • xImage
  •  

套用之前所學的for迴圈,我們也可以在 Python 上設計出一個九九乘法表來,並使用格式化輸出來確保表格對齊整齊。。

九九乘法表

程式碼與成果

https://ithelp.ithome.com.tw/upload/images/20240922/20169364SIVEVfb1v6.png

註解

# 打印標題行,即第一行 1 到 9 的標題,方便查看
print(' ', end='')  # 在第一列留一個空格,讓結果更整齊
for i in range(1, 10):  # 從 1 到 9 進行迴圈,打印出橫向的數字標題
    print('%3d' % (i), end='')  # 打印數字,並格式化為 3 個字元寬度,保持對齊
print()  # 換行,準備打印乘法表的下一部分

# 開始打印乘法表的內容
for i in range(1, 10):  # 外層迴圈,控制縱向的數字,從 1 到 9
    print(i, end='')  # 打印左邊的數字,作為每行的起始值
    for j in range(1, 10):  # 內層迴圈,從 1 到 9 計算乘積
        print('%3d' % (i * j), end='')  # 打印乘積,格式化為 3 個字元寬度,對齊
    print()  # 內層迴圈結束後換行,開始打印下一行的結果

程式碼解析

以下將從程式碼由上而下逐一做詳細的解釋

1. print(' ', end='')

  • 在輸出乘法表的標題行時,先輸出一個空格,使得標題行與內容部分對齊。
  • end='' 表示在輸出結束時不換行。

2. for i in range(1, 10)

  • 這個 for 迴圈會遍歷數字 1 到 9,用來打印乘法表的標題行,也就是第一行的 1 到 9。

3. print('%3d' % (i), end='')

  • 這裡的 '%3d' % (i) 是一個格式化輸出,表示每個數字佔用 3 個字元的寬度,以確保列的對齊。
  • end='' 是為了在每次打印後不自動換行,使得所有數字列印在同一行。

4. print()

  • 在打印完第一行後換行,為後續的乘法表內容留出空間。

5. for i in range(1, 10)

  • 外層 for 迴圈用來控制縱向輸出,每一行表示乘法表中的某一個乘數。

6. print(i, end='')

  • 這是每一行開頭的數字,也就是 i,表示該行的乘數。
  • 例如:第一行會顯示 1,第二行會顯示 2,以此類推。

7. for j in range(1, 10)

  • 內層 for 迴圈從 1 到 9,計算每個乘數 i 與被乘數 j 的乘積。

8. print('%3d' % (i * j), end='')

  • 將乘數 i 與被乘數 j 相乘,並且格式化為 3 個字元寬度進行輸出。
  • 這樣可以保證每個乘積輸出後整齊排列,且不會自動換行。

上一篇
Python的簡單數學問題應用
下一篇
Python的array
系列文
30天學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言